﻿using System;
using System.Linq;
using App_Code.Clases;
using App_Code.Utilidades;
using SubSonic.Repository;

public partial class Mantenimiento_Modelos_EditarModelo : System.Web.UI.Page
{
    SimpleRepository repository = new SimpleRepository("Electro", SimpleRepositoryOptions.None);
    protected void Page_Load(object sender, EventArgs e)
    {
        Validaciones.ValidarSession();
        if(!Page.IsPostBack)
        {

            var modelo = repository.Single<Modelo>(int.Parse(Request.Params[0]));
            txtOrigen.Value = modelo.Origen;
            txtGarantia.Value = modelo.Garantia.ToString();
            txtNombre.Value = modelo.Nombre;
            var categorias = from c in repository.All<Categoria>()
                             select new {c.Id, c.Codigo};
            selectCategoria.DataSource = categorias;
            selectCategoria.DataTextField = "Codigo";
            selectCategoria.DataValueField = "Id";
            selectCategoria.SelectedIndex =
                selectCategoria.Items.IndexOf(selectCategoria.Items.FindByValue(modelo.IdCategoria.ToString()));
            selectCategoria.DataBind();

            var marcas = from m in repository.All<Marca>()
                          select new { m.Id, m.Nombre };
            selectMarca.DataSource = marcas;
            selectMarca.DataTextField = "Nombre";
            selectMarca.DataValueField = "Id";
            selectMarca.SelectedIndex =
                selectMarca.Items.IndexOf(selectMarca.Items.FindByValue(modelo.IdMarca.ToString()));
            selectMarca.DataBind();

        }
    }

    protected void Guardar(object sender, EventArgs e)
    {
        try
        {
            var modelo = repository.Single<Modelo>(int.Parse(Request.Params[0]));
            modelo.Garantia = int.Parse(txtGarantia.Value);
            modelo.Nombre = txtNombre.Value;
            modelo.Origen = txtOrigen.Value;
            modelo.IdCategoria = int.Parse(selectCategoria.Value);
            modelo.IdMarca = int.Parse(selectMarca.Value);
            repository.Update(modelo);
            Response.Redirect("/e-lectrodomesticos/Mantenimiento/Modelos/VerModelos.aspx");
        }
        catch(Exception ex)
        {
            
        }
    }
}
